<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // ES6 提供了新的数据结构 Set。它类似于数组，但是成员的值都是唯一的，没有重复的值。
        // Set本质是一个构造函数(我们需要实例化一个set,new Set())
        // new Set(arr/likeArr);
        // arr/likeArr:数组/类数组
        var arr = [1,2,3,1,2,3,1,2,3,4];
        let set1 = new Set(arr);
        console.log(set1);




        // set方法
        // - size   获取set集合的长度
        // - add(值)  给集合添加值，返回新set
        // - delete(值) 删除某个值，返回布尔值，表示是否删除成功
        // - has(值)  查询这个值是否是集合的成员，返回布尔值
        // - clear()  清空集合,没有返回值
        console.log(set1.size);
        var resSet = set1.add(100);
        console.log(resSet);

        set1.add(100)
        console.log(set1);

        console.log(set1.delete(3)); //true
        console.log(set1.delete(666)); //false
        console.log(set1);

        console.log(set1.has(1)); //true
        console.log(set1.has('哈哈')); //false

        set1.clear();
        console.log(set1);


        // 数组去重
        var arr1 = [1,2,3,4,1,2,3,4,1,2,3,4];
        var resArr = Array.from(new Set(arr1));
        console.log(resArr);
    </script>
</body>
</html>